<?php
 Session_Start () ;
 If (!IsSet ($_SESSION ["repertoire_config"])) { Header ("Location: ../../") ; }
 Include ("../../include/garennes.cfg") ;
 Include ("../../include/init.php") ;
 Include ("../include/config.inc") ;
 verif_droits ($droit_courant, $_SESSION ["code"]) ;
 
 $id_classe = var_courante ("id_classe", 0, null) ;
 
 If (IsSet ($id_classe))
  {
   If ($id_classe > 0)
    {
     SQL_transmission (4) ;
     $millesime = millesime (0) ;
     // Liste des disciplines de la classe, alphabetique
     $resultats = structure_pedagogique ($id_classe,-2,$millesime) ;
     $nbr_disc = SQL_nbr_lignes ($resultats) ;
     $ok_gdisc = 0 ;
     If ($nbr_disc > 0)
      {
       $id_etab = id_etablissement_par_id_classe ($id_classe) ;
       $groupe_discipline = restaure_configuration_defaut ("SYSTEME_PARAM","GESTION","GROUPE_DISC_ACTIVATION_".$id_etab, 0) ;
       If ($groupe_discipline == 1)
        {
         // Determine le nombre et le nom des groupements de disciplines
         $groupe_disc = groupement_disciplines ($id_classe, $millesime) ;
	 If ($groupe_disc [0][0] > 0) { $ok_gdisc = 1 ; }
	}
       
       Include ("../../include/phppdflib.class.php") ;
       Include ("../../include/tableaux_pdf.inc") ;
     
       $taille_fonte_titre = 12 ;
       $taille_fonte_date = 8 ;
       $taille_fonte_entete = 10 ;
       $taille_fonte_cellules = 9 ;
       $numerotation_lignes = 1 ;
       
       //
       // Construction du tableau
       //
       // RENSEIGNEMENTS GENERAUX SUR LA (OU LES) PAGE(S)
       $table [0][0] = "a4" ; // Format de la page : letter, legal, executive, tabloid, a3, a4, a5
       $table [0][1] = "I" ;  // Orientation : F portrait, I paysage
       $table [0][2] = 2 ;    // Nombre de "titres"
       $table [0][3] = 0 ;    // Nombre de "cellules"
       $table [0][4] = 0 ;    // Nombre de "lignes"
       
       $table [0][5] = 15 ;   // Marge haut
       $table [0][6] = 15 ;   // Marge bas
       $table [0][7] = 15 ;   // Marge gauche
       $table [0][8] = 15 ;   // Marge droite
       
       $table [0][9] = 0 ;    // Lignes des cellules : 0 arret si plus de donnees 1 continu jusqu'au bout
       $table [0][10] = 1 ;
       
       // TITRE 1
       $table [0][11] = "Structure p".Chr (233)."dagogique" ; // Titre 1
       $table [0][12] = "G" ;                             // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [0][13] = "N" ;                             // Fond : G grisee, N normal
       $table [0][14] = "M" ;                             // Position : M milieu, G gauche, D droite
       $table [0][15] = "H" ;                             // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [0][16] = Chr (30+$taille_fonte_titre) ;    // Taille : Chr (30+$taille)
       $table [0][17] = 0 ;                               // Encadrement : 0 non, 1 oui
       
       // TITRE 2 : Classe
       // Sous-discipline
       $classe = SQL_commande ("SELECT nom,nom_bref FROM classes WHERE id_classe='".$id_classe."' LIMIT 1", $id_sql) ;
       $cl = SQL_tableau_associatif ($classe, "") ;
       $table [0][21+10*$nbr_titre] = "Classe : ".$cl ["nom"]." (".$cl ["nom_bref"].")" ;
       $table [0][22+10*$nbr_titre] = "G" ;                                                // Type de caracteres
       $table [0][23+10*$nbr_titre] = "N" ;                                                // Fond
       $table [0][24+10*$nbr_titre] = "M" ;                                                // Position
       $table [0][25+10*$nbr_titre] = "H" ;                                                // Fonte
       $table [0][26+10*$nbr_titre] = Chr (30+$taille_fonte_titre) ;                        // Taille
       $table [0][27+10*$nbr_titre] = 0 ;                                                  // Encadrement : 0 non, 1 oui
       
       // ENTETES : LIGNE DE CELLULES 1
       If ($numerotation_lignes == 1)
        {
         $table [1][11] = "n".Chr (186) ;
         $num = 11 ;
         $table [1][0] = "NGGGGGGG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1][1] = "GGGGGGGG" ;     // Fond des cellules : G grisee, N normal
         $table [1][2] = "MMMMMMMM" ;     // Position : M milieu, G gauche, D droite
         $table [1][3] = "HHHHHHHH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1][4] = Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete) ;
        }
       Else
        {
         $num = 10 ;
         $table [1][0] = "GGGGGGG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1][1] = "GGGGGGG" ;     // Fond des cellules : G grisee, N normal
         $table [1][2] = "MMMMMMM" ;     // Position : M milieu, G gauche, D droite
         $table [1][3] = "HHHHHHH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1][4] = Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete).Chr (30+$taille_fonte_entete) ;
        }
      
       If ($ok_gdisc == 1)
        {
	 $table [1][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1][1] .= "G" ;     // Fond des cellules : G grisee, N normal
         $table [1][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1][4] .= Chr (30+$taille_fonte_entete) ;
	 $table [1][$num+1] = "Groupe" ;
	}
       $table [1][$num+$ok_gdisc+1] = "Discipline" ;
       $table [1][$num+$ok_gdisc+2] = "S.Disc" ;
       $table [1][$num+$ok_gdisc+3] = "Opt." ;
       $table [1][$num+$ok_gdisc+4] = "Gp." ;
       $table [1][$num+$ok_gdisc+5] = "Code Gp." ;
       $table [1][$num+$ok_gdisc+6] = "C".Chr (156)."ff." ;
       $table [1][$num+$ok_gdisc+7] = "Enseignant" ;

       $compteur = 0 ;
       For ($i = 0 ; $i < $nbr_disc ; $i++)
        {
         $ligne = SQL_tableau_associatif ($resultats, "") ;
	 $compteur++ ;
	 
	 // Ligne de cellules 1+$compteur
         If ($numerotation_lignes)
          {
           $table [1+$compteur][11] = $compteur ;
           $num = 11 ;
           $table [1+$compteur][0] = "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	   If (($compteur-2)%2 == 0) { $table [1+$compteur][1] = "G" ; } Else { $table [1+$compteur][1] = "N" ; }
           $table [1+$compteur][2] = "M" ;     // Position : M milieu, G gauche, D droite
           $table [1+$compteur][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
           $table [1+$compteur][4] = Chr (30+$taille_fonte_cellules) ; // Taille : Chr (30+$taille)
          }
         Else
          {
           $num = 10 ;
           $table [1+$compteur][0] = "" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	   $table [1+$compteur][1] = "" ;
           $table [1+$compteur][2] = "" ;     // Position : M milieu, G gauche, D droite
           $table [1+$compteur][3] = "" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
           $table [1+$compteur][4] = "" ; // Taille : Chr (30+$taille)
          }
         
	 // Groupe de discipline
	 If ($ok_gdisc == 1)
	  {
	   $table [1+$compteur][0] .= "NNNNNNNN" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	   If (($compteur-2)%2 == 0) { $table [1+$compteur][1] .= "GGGGGGGG" ; } Else { $table [1+$compteur][1] .= "NNNNNNNN" ; }
           $table [1+$compteur][2] .= "GGGMMGGG" ;     // Position : M milieu, G gauche, D droite
           $table [1+$compteur][3] .= "HHHHHHHH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
           $table [1+$compteur][4] .= Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules) ; // Taille : Chr (30+$taille)
	   $id_gd = groupement_service_prof ($ligne ["id_service_prof"],$millesime,$id_sql) ;
	   $car = groupement_nom_groupe ($id_gd,$millesime,$id_sql) ;
	  }
	 Else
	  {
	   $table [1+$compteur][0] .= "NNNNNNN" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	   If (($compteur-2)%2 == 0) { $table [1+$compteur][1] .= "GGGGGGG" ; } Else { $table [1+$compteur][1] .= "NNNNNNN" ; }
           $table [1+$compteur][2] .= "GGMMGGG" ;     // Position : M milieu, G gauche, D droite
           $table [1+$compteur][3] .= "HHHHHHH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
           $table [1+$compteur][4] .= Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules).Chr (30+$taille_fonte_cellules) ; // Taille : Chr (30+$taille)
	  }
	 
         // Sous-discipline
         $sous_disc = SQL_commande ("SELECT nom FROM sous_disciplines WHERE id_sous_discipline='".$ligne ["sous_discipline"]."' LIMIT 1", $id_sql) ;
	 $sd = SQL_tableau_associatif ($sous_disc, "") ;
       
         // Traduction du flag optionnelle
         If ($ligne ["optionnelle"] == 1) { $option = "X" ; } Else { $option = "" ; }
       
         // Traduction du groupe
         If ($ligne ["groupe"] == 1) { $groupe = "X" ; } Else { $groupe = "" ; }
       
         // Code Groupe
         If ($ligne ["groupe_classe"] > 0)
          {
           $res = SQL_commande ("SELECT * FROM groupes_classe WHERE id_groupe_classe='".$ligne ["groupe_classe"]."' LIMIT 1", $id_sql) ;
           $r = SQL_tableau_associatif ($res, "") ;
           $code_groupe = $r ["code_groupe"] ;
          }
         Else
          { $code_groupe = "" ; }
       
         // Coefficient
         $coeff = Str_Replace (".", ",", $ligne ["coefficient"]) ;
      
         // Enseignants
	 If ($ligne ["professeur"] > 0)
	  {
           $res = SQL_commande ("SELECT * FROM utilisateurs WHERE droits='".$droit_prof."' AND id_utilisateur='".$ligne ["professeur"]."' LIMIT 1", $id_sql) ;
           $r = SQL_tableau_associatif ($res, "") ;
           $nom_prof = $r ["nom"]." ".$r ["prenom"] ;
	  }
	 ElseIf ($ligne ["professeur"] < 0)
	  {
	   // Alias
	   $liste_enseignants = alias_liste_enseignants (-$ligne ["professeur"]) ;
	   $nom_prof = "" ;
	   For ($j = 1 ; $j <= $liste_enseignants [0][0] ; $j++)
	    {
	     If ($j > 1) { $nom_prof .= ", " ; }
	     $nom_prof .= $liste_enseignants [$j][3]." ".$liste_enseignants [$j][4] ;
	    }
	  }
	 Else { $nom_prof = "" ; }
	 
	 If ($ok_gdisc == 1)
	  {
	   If (($car [1] != "") And ($car [2] != "") And ($car [4] != ""))
	    {
	     $table [1+$compteur][$num+1] = conversion_html_ascii ($car [1]." (".$car [2].") [".$car [4]."]") ;
	    }
	   Else { $table [1+$compteur][$num+1] = "" ; }
	  }
	 $table [1+$compteur][$num+$ok_gdisc+1] = conversion_html_ascii ("(".$ligne ["id_service_prof"].") ".$ligne ["nom_court"]) ;
         $table [1+$compteur][$num+$ok_gdisc+2] = $sd ["nom"] ;
         $table [1+$compteur][$num+$ok_gdisc+3] = $option ;
         $table [1+$compteur][$num+$ok_gdisc+4] = $groupe ;
         $table [1+$compteur][$num+$ok_gdisc+5] = $code_groupe ;
         $table [1+$compteur][$num+$ok_gdisc+6] = $coeff ;
         $table [1+$compteur][$num+$ok_gdisc+7] = $nom_prof ;
        }
       $table [0][3] = $numerotation_lignes+$ok_gdisc+7 ;   // Nombre de cellules
       //$table [0][3] = $num-10+7+$ok_gdisc ;   // Nombre de cellules
       $table [0][4] = 1+$compteur ; // Nombre de lignes
       If ($compteur > 0) { tableau_pdf ($table, "structure", 1) ; }
       Else
        {
         // Aucune donnees
	 Echo "<html><body background=\"../images/fond.png\" text=\"#000000\">" ;
         Echo "<br><br><br><center><b>Aucune&nbsp;donn&eacute;es&nbsp;!</b></center></body></html>" ;
        }
      }
     Else
      {
       // Aucune donnees
       Echo "<html><body background=\"../images/fond.png\" text=\"#000000\">" ;
       Echo "<br><br><br><center>&nbsp;Aucun&nbsp;service&nbsp;d&eacute;clar&eacute;&nbsp;!&nbsp;</center>" ;
       Echo "</body></html>" ;
      }
    }
   ElseIf ($id_classe < 0)
    {
     // Procedure d'appel du calcul du PDF
     Echo "<html><head><title>Garennes.</title>" ;
     Echo "<meta http-equiv=\"refresh\" content=\"1;url=./imp_struct_peda.php?fenetre=1&id_classe=".(-$id_classe)."&code=".$_SESSION ["code"]."\">" ;
     Echo "</head>" ;
     Echo "<body background=\"../images/fond.png\" onContextMenu=\"return false\">" ;
     Echo "<center><b>Cr&eacute;ation du PDF de la structure p&eacute;dagogique pour impression.<br>Calcul en cours... Veuillez patienter !</b><br>" ;
     Echo "<a href=\"./imp_struct_peda.php?fenetre=1&id_classe=".(-$id_classe)."&code=".$_SESSION ["code"]."\"><img src=\"../../images/attente.gif\" border=\"1\"></a></center>" ;
     Echo "</body></html>" ;
    }
  }
 Else { Echo "<html><head><script type=\"text/javascript\">window.close();</script></head></html>" ; }
?>